___________________________________________________________________________
STACKER NOTE STACKER NOTE
Title: Loading Stacker into Upper Memory with MS-DOS 5.0 or Windows 3.1.
STAC FAX Index #2102 - 6/19/92
___________________________________________________________________________
Background.
MS-DOS 5.0 and Windows 3.1 come with an expanded memory manager,
EMM386.EXE, that enables the loading of device drivers and TSRs into the
Upper Memory area on 386 and 486 machines. The Stacker device driver may
be loaded into this area if the system is configured properly and if there
is an upper memory block (UMB) large enough to accommodate the driver's
initialization size. Stacker reports the initialization size of its
device driver at boot time. As EMM386 loads, it reports the size of the
largest UMB. (Use the pause key during system boot to view these figures.)
If you attempt to load the Stacker driver into the UMBs and they are not
large enough, the driver will simply load into the lower 640k of
conventional memory.
Optimizing upper memory usage can be a complex task. Freeing up UMBs that
are large enough may require much trial and error. You may even have to
experiment with the order in which device drivers are loaded. This
document provides the necessary configuration information to get you
started.
Requirements.
1. The computer must be a 386 or 486 with at least 1MB of memory.
2. The Config.sys file must contain the following statements (in this
order):
DEVICE=C:\
\HIMEM.SYS (where is DOS or WINDOWS)
DEVICE=C:\\EMM386.EXE switches (switches are explained later)
DOS=UMB (or DOS=HIGH,UMB)
3. You need to tell DOS to load the Stacker device HIGH by changing the
syntax from DEVICE= to DEVICEHIGH= in Config.sys. For example,
DEVICE=C:\STACKER\STACKER.COM C:\STACVOL.DSK
becomes DEVICEHIGH=C:\STACKER\STACKER.COM C:\STACVOL.DSK
NOTES:
1. Make sure HIMEM.SYS and EMM386.EXE exist on the uncompressed boot
drive or they will not be available during system startup.
2. Stacker's SSWAP program is not memory resident. Therefore, it is
not necessary to load its device driver high.
EMM386.EXE Switches.
The switches (parameters) tell EMM386 to perform a variety of functions
like opening the Upper Memory Area for device drivers and TSRs, or to
create Expanded (EMS) memory for applications. The switches you choose
will depend on your applications and the type of memory they require.
1. If some applications use EMS memory, use the RAM parameter. This
will provide access to the UMBs and create a 64k EMS page frame.
For example: DEVICE=c:\DOS\EMM386.EXE RAM
2. If no EMS memory is required, use the NOEMS parameter. This
will provide access to the UMBs and create 64K more usable space
than the RAM parameter. No EMS services will be provided.
For example: DEVICE=c:\DOS\EMM386.EXE NOEMS
3. In order to free up the MAXIMUM amount of upper memory, you can
add the m9 parameter. When used in conjunction with the RAM
parameter, this will inform EMM386 to position the page frame
at address E000h, freeing up an additional 64K of RAM. When used
with the NOEMS parameter, the 64k memory block starting at E000h
will be added to the available UMBs.
For example: DEVICE=c:\DOS\EMM386.EXE NOEMS m9
This line will free up the maximum amount of UMBs on most systems.
It is possible to specify other memory starting address with the
m# parameter. Please consult your DOS or Windows manual.
NOTE: This option will work on most IBM-compatible machines.
However, a few machines like the PS/2 contain BIOS information
at E000. You will not be able to use the M9 option on these
machines.
Checking Stacker's memory location.
To see if the Stacker device driverwas successfully loaded into the UMBs,
use the DOS MEM command. Type: MEM /C to view the memory map.
The Stacker XT/8 coprocessor card and EMM386.
If you have the XT/8 coprocessor card, it will be necessary to
exclude the 16K upper memory address range that it uses from use
by EMM386. For example, if the coprocessor base address is cc00,
add x=cc00-cfff to the EMM386 device driver. You can determine the
coprocessor address by examining the /B= parameter on the Stacker
device line in Config.sys. For example, if /B=CC00, the EMM386
line would read:
DEVICE=C:\DOS\EMM386.EXE NOEMS m9 x=cc00-cfff
Failure to exclude the address will result in the message "Coprocessor
not functioning, invoking software driver".
The following table lists the seven possible memory ranges, based on the
base address of the XT/8 coprocessor card:
Base Address to Exclude
------------ ------------------
c400 c400-c7ff
c800 c800-cbff
cc00 cc00-cfff
d000 d000-d3ff
d400 d400-d7ff
d800 d800-dbff
dc00 dc00-dfff
NOTE: The Stacker AT/16 card uses an exclusive I/O address so
it requires no special treatment.
___________________________________________________________________________
Copyright 1993, Stac Electronics